<?php
include_once 'db.php';
include_once 'errores.php';
include_once 'utilidades.php';

/* Si no hay sesión para el usuario es que la entrada no se ha producido a
 * través de login, por lo que se redirige a la página identificación.
*/

comprobarSesion();


// <editor-fold defaultstate="collapsed" desc="Funciones PHP">


function modificarContrasena() {
// Se sanean las entradas.
    $filtros = array (
            "usuario" => array ('filter'=>FILTER_SANITIZE_STRING),
            "actual" => array ('filter'=>FILTER_SANITIZE_STRING),
            "nueva1" => array ('filter'=>FILTER_SANITIZE_STRING),
            "nueva2" => array ('filter'=>FILTER_SANITIZE_STRING)
    );
    $resultado = filter_input_array(INPUT_POST, $filtros);

    if(($resultado['usuario'] == "")
            || ($resultado['actual'] == "")
            || ($resultado['nueva1'] == "")
            || ($resultado['nueva2'] == ""))
        $errores[] = "El usuario y las contrase&ntilde;as no pueden estar en blanco.";
    else if(($resultado['usuario'] == false)
            || ($resultado['actual'] == false)
            || ($resultado['nueva1'] == false)
            || ($resultado['nueva2'] == false))
        $errores[] = "No se permite el uso de etiquetas HTML.";

    $usuario = $resultado['usuario'];
    $actual = sha1($resultado['actual']);
    $nueva1 = $resultado['nueva1'];
    $nueva2 = $resultado['nueva2'];

    if ($nueva1 != $nueva2)
        $errores[] = "La contrase&ntilde;a nueva no se ha introducido igual en las dos ocasiones.";

    /* Se comprueba que el usuario cuya contraseña se quiere cambiar esté dado de
     * alta. Si no es así, se añade un error al vector de errores.
    */
    $conexion = conectar("kcbb");
    $sql = "select * from usuarios where nombre='$usuario' and contrasena='$actual'";
    $result = consultar($sql, $conexion);
    if(mysql_num_rows($result) <= 0)
        $errores[] = "El usuario '$usuario' no existe o la contrase&ntilde;a no corresponde.";

    /* Pero si existe y la contaseña nueva ha pasado el control de error (dos veces
     * igual), entonces se actualiza el campo contraseña con el valor sha1 de la
     * nueva contraseña.
    */
    if(! isset($errores)) {
        $fila = mysql_fetch_array($result);
        $pwd = sha1($_POST['nueva1']);
        $sql = "update usuarios set contrasena='$pwd'";
        $result = consultar($sql, $conexion);
        if(mysql_affected_rows($conexion)==1)
            $errores[] = "Contrase&ntilde;a actualizada.";
    }

    mysql_close($conexion);
    return $errores;
}

// </editor-fold>

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta name="Robots" content="all" />
        <meta name="Keywords" content="blues, band, spain, españa, kid, guitar, guitarrista, carlos moreno, music" />
        <link rel="stylesheet" type="text/css" href="estilo.css" />
        <title>Kid Carlos Blues Band - Administraci&oacute;n</title>
    </head>
    <body>
        <div id="principal">
            <?php
            include_once 'menu.php';
            ?>
            <div id="contenedor">
                <div id="cabecera">
                    <img src="Img/Cabecera.png" alt="Cabecera" />
                </div>
                <div class="columna">
                    <?php
                    include 'admin_menu.php';
                    ?>
                </div>
                <div class="columnaAncha">
                    <?php
                    /* Si existe la variable de sesión album es que se ha solicitado
                     * abrir un album y se muestra el contenido del mismo junto al
                     * formulario para añadir fotos. En otro caso, se muestra el
                     * listado de álbumes.
                    */
                    if(isset($_POST['cambiar']))
                        $errores = modificarContrasena();

                    echo "<h3>Usuarios</h3> \n";
                    echo "<div class='formulario'> \n";
                    echo "<form action='' method='post'> \n";
                    echo "<pre>Usuario:  <input type='text' name='usuario' size='50' /></pre>\n";
                    echo "<pre>Contrase&ntilde;as:</pre> \n";
                    echo "<pre>     Actual:           <input type='password' name='actual' size='33' /></pre>\n";
                    echo "<pre>     Introduzca nueva: <input type='password' name='nueva1' size='33' /></pre>\n";
                    echo "<pre>     Repita nueva:     <input type='password' name='nueva2' size='33' /></pre>\n";
                    echo "<input type='submit' name='cambiar' value='Cambiar contrase&ntilde;a' /> \n";
                    echo "</form> \n";
                    echo "</div> \n";
                    if(isset($errores))
                        mostrarErrores($errores);
                    echo "<h3> </h3>";
                    ?>
                </div>
                <?php
                include_once 'pie.php';
                ?>
            </div>
            <div id="logo">
                <img src="Img/logo.png" alt="Logo del grupo" />
            </div>
        </div>
    </body>
</html>
